home *** CD-ROM | disk | FTP | other *** search
- #pragma once
-
- #include "HeapObjects.h"
- #include <vector.h>
-
- class TempMemHeap:public CHeap
- {
- public:
- TempMemHeap(UInt32 reqSize);
- virtual ~TempMemHeap();
-
- virtual Boolean HeapOK();
- virtual Boolean BlockInHeapQ(Ptr block);
-
- virtual Size FreeSpace();
- virtual Size BlockSize(Ptr block);
- virtual Size GetUsedSize();
-
- protected:
- virtual Ptr GetBlock(Size size);
- virtual void FreeBlock(Ptr block);
-
-
- Handle fStore;
- Heap fHeap;
- UInt32 fSize;
- };
-
-
- class DynamicTempHeap:public CHeap
- {
- public:
- DynamicTempHeap(UInt32 chunkSize);
- virtual ~DynamicTempHeap();
-
- virtual Boolean HeapOK();
- virtual Boolean BlockInHeapQ(Ptr block);
-
- virtual Size FreeSpace();
-
- virtual Size BlockSize(Ptr block);
-
- virtual Size GetUsedSize();
-
- protected:
- virtual Ptr GetBlock(Size size);
- virtual void FreeBlock(Ptr block);
-
- virtual Boolean AllocateFailed(Size sizeNeeded);
-
- CHeap* LocateHeap(Ptr block);
-
- vector<CHeap*> fHeapList;
- UInt32 fChunkSize;
-
- };